/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.gwc.yy.liuxue.entity;

import com.thinkgem.jeesite.modules.sys.entity.User;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 推荐记录Entity
 * @author 黎俊涛
 * @version 2017-04-14
 */
public class Recommend extends DataEntity<Recommend> {
	
	private static final long serialVersionUID = 1L;
	private User user;		// 顾问
	private User student;		// 学生
	private School school;		// 院校
	private String schoolDepartment;		// 院系
	private String profession;		// 专业
	private String requirement;		// 录取要求
	private Date deadline;		// 截止日期
	private String proposal;		// 顾问建议
	private String description;		// 说明
	
	public Recommend() {
		super();
	}

	public Recommend(String id){
		super(id);
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
	
	@NotNull(message="学生不能为空")
	public User getStudent() {
		return student;
	}

	public void setStudent(User student) {
		this.student = student;
	}
	
	public School getSchool() {
		return school;
	}

	public void setSchool(School school) {
		this.school = school;
	}
	
	@Length(min=0, max=100, message="院系长度必须介于 0 和 100 之间")
	public String getSchoolDepartment() {
		return schoolDepartment;
	}

	public void setSchoolDepartment(String schoolDepartment) {
		this.schoolDepartment = schoolDepartment;
	}
	
	@Length(min=0, max=100, message="专业长度必须介于 0 和 100 之间")
	public String getProfession() {
		return profession;
	}

	public void setProfession(String profession) {
		this.profession = profession;
	}
	
	@Length(min=0, max=500, message="录取要求长度必须介于 0 和 500 之间")
	public String getRequirement() {
		return requirement;
	}

	public void setRequirement(String requirement) {
		this.requirement = requirement;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getDeadline() {
		return deadline;
	}

	public void setDeadline(Date deadline) {
		this.deadline = deadline;
	}
	
	@Length(min=0, max=500, message="顾问建议长度必须介于 0 和 500 之间")
	public String getProposal() {
		return proposal;
	}

	public void setProposal(String proposal) {
		this.proposal = proposal;
	}
	
	@Length(min=1, max=500, message="说明长度必须介于 1 和 500 之间")
	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}
	
}